package vistas;

import objetos.aeronaves.Algo42;
import objetos.aeronaves.civiles.AvionCivil;
import objetos.aeronaves.civiles.Helicoptero;
import objetos.aeronaves.enemigos.AvionGuia;
import objetos.aeronaves.enemigos.Avioneta;
import objetos.aeronaves.enemigos.Bomber;
import objetos.aeronaves.enemigos.Caza;
import objetos.aeronaves.enemigos.Scout;
import objetos.powerUps.PowerUp;
import objetos.proyectiles.Adaptable;
import objetos.proyectiles.Cohete;
import objetos.proyectiles.LaserShoot;
import objetos.proyectiles.Rastreador;
import objetos.proyectiles.Torpedo;
import ar.uba.fi.algo3.titiritero.ControladorJuego;
import ar.uba.fi.algo3.titiritero.vista.Imagen;

/*
 * Clase que provee metodos est�ticos para crear las vistas de cada objeto
 */
public class FactoryVistas {

	public static Imagen crearVista(Algo42 algo42, ControladorJuego controlador) {
		return new VistaAlgo42(algo42, controlador);
	}

	public static Imagen crearVista(AvionCivil avion,
			ControladorJuego controlador) {
		return new VistaAvionCivil(avion, controlador);
	}

	public static Imagen crearVista(Helicoptero helicoptero,
			ControladorJuego controlador) {
		return new VistaHelicoptero(helicoptero, controlador);
	}

	public static Imagen crearVista(AvionGuia guia, ControladorJuego controlador) {
		return new VistaAvionGuia(guia, controlador);
	}

	public static Imagen crearVista(Avioneta avioneta,
			ControladorJuego controlador) {
		return new VistaAvioneta(avioneta, controlador);
	}

	public static Imagen crearVista(Scout scout, ControladorJuego controlador) {
		return new VistaScout(scout, controlador);
	}

	public static Imagen crearVista(Caza caza, ControladorJuego controlador) {
		return new VistaCaza(caza, controlador);
	}

	public static Imagen crearVista(Bomber bomber, ControladorJuego controlador) {
		return new VistaBomber(bomber, controlador);
	}

	public static Imagen crearVista(LaserShoot shoot,
			ControladorJuego controlador) {
		return new VistaLaserShoot(shoot, controlador);
	}

	public static Imagen crearVista(Cohete cohete, ControladorJuego controlador) {
		return new VistaCohete(cohete, controlador);
	}

	public static Imagen crearVista(Torpedo torpedo,
			ControladorJuego controlador) {
		return new VistaTorpedo(torpedo, controlador);
	}

	public static Imagen crearVista(Rastreador rastreador,
			ControladorJuego controlador) {
		return new VistaRastreador(rastreador, controlador);
	}

	public static Imagen crearVista(Adaptable adaptable,
			ControladorJuego controlador) {
		return new VistaAdaptable(adaptable, controlador);
	}

	public static Imagen crearVista(PowerUp powerUp,
			ControladorJuego controlador) {
		return new VistaPowerUp(powerUp, controlador);
	}

}
